"""
题目：将列表中的所有 0 移动到末尾，同时保持非零元素的相对顺序。
"""


def move_zeros(lst):
    # 统计非零元素的个数，也用作非零元素的放置位置
    non_zero_count = 0
    # 第一次遍历：将所有非零元素移到前面
    for i in range(len(lst)):
        if lst[i] != 0:
            lst[non_zero_count] = lst[i]
            non_zero_count += 1

    # 第二次遍历：将剩余位置填充为0
    for i in range(non_zero_count, len(lst)):
        lst[i] = 0

    return lst


# 测试
print(move_zeros([0, 1, 0, 3, 12]))  # 输出: [1, 3, 12, 0, 0]

print("------")
for i in range(3,6):
    print(i)
